home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / xprd / xprd.dok < prev    next >
Text File  |  1995-11-05  |  12KB  |  274 lines

  1. \   /
  2.  \ /
  3.   X          V1.13 / 24.7.1991
  4.  / \
  5. /   \PRD  ist  ein  Utility  zum  einfachen Ansteuern der XPR.libraries vom
  6. CLI bzw.  von anderen Programmen (Points, Boxsoftware usw.).  Sämtliche für
  7. die XPR.libraries relevanten Parameter können per Kommandozeile eingestellt
  8. werden,  weiterhin wird Batch-Upload unterstützt (echtes Batch-Upload, kein
  9. Patternmatching).
  10.  
  11. Es  existieren zwei Versionen von XPRD:  "XPRD" und "XPRD030".  Während die
  12. erste  Version  für  jeden  Amiga  geeignet  ist,  benötigt "XPRD030" einen
  13. Rechner  mit  68020  oder 68030-Prozessor.
  14.  
  15. Der Aufruf von XPRD sieht folgendermaßen aus:
  16.  
  17.     XPRD [-optionen] SEND|RECEIVE [File1 [File2...]]
  18.  
  19. SEND oder RECEIVE (werden nur am ersten Buchstaben unterschieden) bestimmen
  20. die  auszufuehrende Operation, File1 und folgende bezeichnen die Filenamen.
  21. Werden  die  Filenamen  weggelassen,  wird automatisch ein Default-Filename
  22. "NAPFSUELZE"  vergeben;  dies  ist  nur sinnvoll für Protokolle, welche die
  23. Filenamen  vom  Sender  erhalten  (z.B.  Z-Modem).  Wildcards bei Filenamen
  24. sind nicht möglich und auch nur wenig sinnvoll.
  25.  
  26. Die XPR-Libraries melden SUCCESFULL/FAILED; dies wird in den entsprechenden
  27. AmigaDOS-Returncode  ERROR_OK  (0)  und  ERROR_FAILED  (20) umgesetzt; beim
  28. Aufruf  von  XPRD  mittels  der  DOS-Funktion "Execute()" besteht keinerlei
  29. Möglichkeit,  an  diesen Wert zu kommen.  Dafür steht die Funktion "-r" zur
  30. Verfügung.
  31.  
  32. Der  Aufruf  von  XPRD  ohne  Parameter  oder mit einem "?" gibt eine kurze
  33. Optionenübersicht  aus.   Genauere  Infos über die Programmversion sind mit
  34. "XPRD -i" abzurufen.
  35.  
  36. Folgende Optionen stehen zur Verfügung:
  37.  
  38.     -l<libname>     bestimmt den Namen der XPR-Library. Defaultmäßig
  39.             wird "xprzmodem.library" verwendet
  40.  
  41.     -o<string>        bestimmt den Optionsstring für XProtocolSetup().
  42.             Der Aufbau des Strings ist von der verwendeten
  43.             Library abhängig
  44.  
  45.     -d<devname>     bestimmt das zu benutzende serielle Device. Default
  46.             ist "serial.device", es ist so aber auch möglich,
  47.             das Supra-ZI-Device ("modem?.device") oder die
  48.             Devices der ASDG-IO-Karte ("sxbios.device")
  49.             einzusetzen. Die Commodore-Karte wird weiterhin
  50.             über das "serial.device" angesteuert, dabei ist
  51.             auf die Unit-Nummer zu achten
  52.  
  53.     -u<unit>        bestimmt die Unitnummer für das serielle Device.
  54.             Default ist "0"
  55.  
  56.     -b<num>        bestimmt die Größe des Read-Buffers in k. Fehlt
  57.             der Parameter (oder ist er 0), wird die
  58.             voreingestellte Größe aus den Preferences
  59.             verwendet. ACHTUNG: Hier sollte man nicht sparen,
  60.             bei Größen unter 16k kommt es recht schnell zu
  61.             Überläufen (werden von der Library als TIMEOUTs
  62.             gemeldet), insbesondere bei hohen
  63.             Geschwindigkeiten. Ein guter Mittelwert ist 64k
  64.  
  65.     -x[X][S]<baud>    setzt die Baudrate des seriellen Device. Wird
  66.             dieser Wert nicht gesetzt, öffnet XPRD das
  67.             Device ohne Änderung des Werts
  68.             Das optionale X bewirkt RTS/CTS-Handshake, das
  69.             optionale S bewirkt das Öffnen mit SERF_SHARED
  70.             (diese Option ersetzt das frühere "-s")
  71.  
  72.     -p<xpos,ypos>    bestimmt die X- und Y-Position des XPRD-Fensters.
  73.             Die Werte werden auf gültiges Maß zurechtgestutzt
  74.  
  75.     -m<logfile>        aktiviert die Logfile-Option; falls kein Logfile
  76.             angegeben ist, wird "XPRD.log" angenommen.
  77.             Aufbau des Logfile:
  78.  
  79.                 X Zeit/Datum Text
  80.  
  81.             wobei X ein einzelnes Zeichen ist:
  82.  
  83.                 ! einfache Meldung von XPRD
  84.                 + Meldung aus der Library
  85.  
  86.     -r<errorfile>    Gibt den Returnwert von XPRD in die Datei
  87.             <errorfile> als Klartext aus
  88.  
  89.     -q            XPRD öffnet KEIN Fenster und gibt keine Informationen
  90.             aus; im CLI-Fenster erscheint die Meldung "Doing
  91.             transfer in quiet mode" als Bestätigung, das keine
  92.             Initialisierungsfehler aufgetreten sind
  93.  
  94.     -n            unterdrückt die knapp 3 Sekunden lange Pause nach
  95.             dem Abschluß der Operation, damit erkennbar ist, ob
  96.             das Up/Download erfolgreich war
  97.  
  98.     -f<$xxxxxxxx>    Läßt das XPRD-Fenster auf dem vordersten Screen
  99.             öffnen (Vorsicht, unbedingt nur bei Aufruf aus
  100.             anderen Programmen verwenden, wenn gewährleistet
  101.             ist, daß der Screen während der Laufzeit von XPRD
  102.             geöffnet bleibt!). Hinter "-f" kann, als 8stelliger
  103.             Hexwert, explizit eine Screenadresse angegeben
  104.             werden. Der Wert 0 hat dabei dieselbe Wirkung wie
  105.             "-q"
  106.  
  107.     [-s            Öffnet das serielle Device im SHARED-Modus]
  108.             Diese Option bitte nicht mehr benutzen; siehe
  109.             jetzt unter "-x"
  110.  
  111.     -c            Aktiviert den Carrier-Detect; bei jedem Aufruf
  112.             der Funktion xpr_chkabort() wird auch auf
  113.             fehlenden Carrier geprüft und eventuell als
  114.             User-Abbruch gemeldet
  115.  
  116.     -i            Zeigt Copyright-Informationen sowie die
  117.                         Versionsnummer und Zeit/Datum der Compilierung
  118.  
  119. XPRD implementiert bisher folgende XPR-Routinen:
  120.  
  121.   fopen,fclose,fread,fwrite,fseek,finfo,ffirst,fnext
  122.   sread,swrite,sflush
  123.   displayupdate,checkabort,unlink,setserial
  124.  
  125. Die   Ein/Ausgabe-Routinen  von  XPRD  sind  auf  maximale  Geschwindigkeit
  126. optimiert  worden,  so  daß  der bestmögliche Datendurchsatz erreicht wird.
  127. Zum  Beispiel  wurde  die  vom  XPR-Standard  geforderte Datenpufferung mit
  128. blockweisem    Diskzugruff   vollkommen   weggelassen,   da   jede   bisher
  129. veröffentlichte  XPR-Library ihre eigenen Puffer anlegt und durch zweifache
  130. Pufferung nur Zeit verloren geht.
  131.  
  132. Die  serielle  Schnittstelle wird mit ihren letzten Einstellungen geöffnet,
  133. d.h.   es  werden  die  Einstellungen  vom  aufrufendem  Programm (durchaus
  134. sinnvoll,  funktioniert  leider nicht mit jedem "serial.device"!) bzw.  aus
  135. den  Preferences  übernommen.   Die  Größe  des Read-Buffers ist allerdings
  136. explizit  bestimmbar,  da  es bei Übertragungen bei hohen Geschwindigkeiten
  137. sehr   schnell   zu   Bufferüberläufen   kommen  kann,  wenn  nur  der  für
  138. Textübertragung  ausreichende Puffer zur Verfügung steht.  Hier sollte also
  139. im  Interesse  einer hohen übertragungssicherheit nicht gegeizt werden, ein
  140. Wert  von  64k ist ein guter Kompromiß.  Bitte beachten, daß GFA-Basic beim
  141. Schließen   der   seriellen   Schnittstelle   die   Angewohnheit  hat,  die
  142. Einstellungen aus den Preferences wieder herzustellen.
  143.  
  144. Die  Funktion  "sread"  wurde,  abweichend vom Standard, so modifizert, daß
  145. beim  Anklicken  das  Closegadgets  der Lesevorgang sofort mit einem Fehler
  146. abgebrochen   wird  und  so  ein  schnelleres  Beenden  einer  fehlerhaften
  147. Übertragung möglich ist.
  148.  
  149. XPRD  ist in Lattice C V5.1 geschrieben, der Sourcecode ist auf Wunsch beim
  150. Autor (ich hätte jetzt auch schreiben können:  Bei mir) erhältlich.
  151.  
  152. XPRD  ist  Freeware,  es  darf, solange unverändert, beliebig weitergegeben
  153. werden.  Soll XPRD mit einem kommerziellen Projekt vertrieben werden, bitte
  154. vorher  anfragen!
  155.  
  156. DIE  BENUTZUNG  VON  XPRD  IN ANLAGEN, DIE DER HERSTELLUNG ODER PLANUNG VON
  157. WAFFEN  ALLER  ART  DIENEN, IST UNTERSAGT.  EBENFALLS IST DIE BENUTZUNG VON
  158. XPRD  DURCH PERSONEN, DIE IN IRGENDEINER FORM MITGLIED EINER MILITAERISCHEN
  159. ODER  GEHEIMDIENSTLICHEN ORGANISATION SIND, VERBOTEN.  Dies gilt NICHT fuer
  160. Wehr- und Zivildienstleistende.
  161.  
  162. Eine Sharegebühr wird nicht erhoben und wäre auch unberechtigt, die XPRD ja
  163. ohne  den  XPR-Standard und die Libraries nutzlos wäre.  Wer also unbedingt
  164. Geld  loswerden  will,  sende  es  lieber  an  den  Erfinder  des  genialen
  165. XPR-Standards    (W.G.J.Langeveld)    oder    den    Programmierer   seiner
  166. Lieblings-XPR-Library  (in  der  Regel  dürfte  das  wohl Z-Modem sein :-).
  167. Huch,  das  bedeutet  ja,  das  ich  zum  Abkassieren ein eigenes Protokoll
  168. erfinden muß.  Hmm...mal überlegen...)
  169.  
  170. Sendet Bug-Reports, Flames & Co. an:
  171.  
  172.     Oliver Wagner
  173.     EMail : O.WAGNER@LINK-ESW.ZER (Z-Netz)
  174.             O.WAGNER@LINK-ESW.ZER.SUB.ORG (Internet)
  175.         Oliver Wagner of 2:240/5600 (Fidonet)
  176.     Beutel: Auf dem Stein 5, 3441 Weißenborn, West Germoney
  177.     Teflon: (++49) (0)5659/518
  178.       Data: (++49) (0)5659/1307 (24h DST) §$§ link esw §$§
  179.  
  180. Die  jeweils  neuste  Version  von  XPRD  steht  immer  in der LINK-ESW zum
  181. Download zur Verfügung (Brett /SUPPORT/XPRD).
  182.  
  183. {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
  184.  
  185. Änderungen bei Version 1.01:
  186. ----------------------------
  187.     - Flag für Window auf vordersten Screen
  188.     - Tastatur-Abbruch nur noch über die ESC-Taste
  189.     - Option für Größe von io_RBufLen
  190.     - kleinere interne Änderungen für höhere Geschwindigkeit
  191.  
  192. Änderungen bei Version 1.02:
  193. ----------------------------
  194.     - Funktion "xpr_unlink" implementiert (z.B. für ZModem "DY"-Option)
  195.  
  196. Änderungen bei Version 1.03:
  197. ----------------------------
  198.     - Flag für Öffnen mit SHAREDACCESS
  199.     - Anleitung überarbeitet
  200.  
  201. Änderungen bei Version 1.04:
  202. ----------------------------
  203.     - Option zum Setzen des Directorys (z.B. für ZModem Batchdownload)
  204.  
  205. Änderungen bei Version 1.05:
  206. ----------------------------
  207.     - Auf Wunsch diversester User :) Abbruch nur noch per CLOSEWINDOW.
  208.       Aufgrund eines Fehlers bei der Implementierung von xpr_serread()
  209.       wurde bei jedem IDCMP-Event abgebrochen, also bei auch bei jedem
  210.       RAWKEY, nicht nur bei ESC.
  211.     - Auf Wunsch diversester User :) Option zum Setzen der Baudrate
  212.     - Auf Wunsch diversester User :) Carrier-Detect-Option
  213.     - Möglichkeit, bei -f die Adresse einer Screen-Struktur zu
  214.       übergeben, um Multiport-Systeme vernünftig zu unterstützen
  215.     - Kein Filenamen mehr nötig, so daß Z-Modem-RECEIVE direkt
  216.       gestartet werden kann
  217.     - etwas mehr Information im Fenster: verwendetes Device,
  218.       Unit, Baudrate (auch, falls nicht mit -x gesetzt), Pfad
  219.     - Möglichkeit zur Positionierung des Fensters
  220.     - "-i"-Option zur Egoblähung des Autors
  221.  
  222. Änderungen bei Version 1.06:
  223. ----------------------------
  224.     - Logfile-Option
  225.     - Auswertung der XPR-Returncodes
  226.     - Returncode je nachdem, ob Übertragung erfolgreich
  227.     - "-r"-Errorcodeauswertung
  228.     - 68030-Version
  229.  
  230. Änderungen bei Version 1.07:
  231. ----------------------------
  232.     - Fehler bei "-f" beseitigt: Fenster wurde immer auf vordersten
  233.       Screen geöffnet
  234.     - 68020++-Version prüft auf Vorhandensein des entsprechenden Prozessors
  235.       und gibt Fehlermeldung statt 03-Guru aus...
  236.       (Kleine Info: XPRD030 ist mit 68030-Optimierung compiliert, läuft aber
  237.        trotzdem auf 68020-Prozessoren)
  238.  
  239. Änderungen bei Version 1.08:
  240. ----------------------------
  241.     - Fenster wird nicht mehr automatisch aktiviert (für Multitasking-
  242.       Anwendung mehr als sinnvoll :)
  243.     - Krabumms bei "-f" beseitigt (bitte um Nachsicht :)
  244.  
  245. Änderungen bei Version 1.09:
  246. ----------------------------
  247.     - der Aufruf von sflush() bei der Initialisierung wurde entfernt;
  248.       das sollte das Problem "TIMEOUT ERROR" vor der Übertragung
  249.       eigentlich lösen (allerdings keine Gewähr)
  250.     - endlich, endlich: "XPRD ?" liefert das, was es soll...
  251.  
  252. VERSION  V1.10  EXISTIERT  NICHT,  DA  EINE  ANGEBLICHE,  GEFÄLSCHTE,  V.10
  253. KURSIERT  IST!  DIESE V1.10 IST NICHT VOLL LAUFFÄHIG!  BITTE NICHT BENUTZEN!
  254.  
  255. Änderungen bei Version 1.11:
  256. ----------------------------
  257.     - Logfile liefert endlich Informationen
  258.     - Flag für RTS/CTS-Handshaking und SHARED in -x; "-s"-Option entfernt
  259.  
  260. Änderungen bei Version 1.12:
  261. ----------------------------
  262.     - xpr_setserial() implementiert (geklaut aus Olsen Barthels TERM)
  263.     - XPRD öffnet sein Fenster nun auch richtig, wenn unter OS 2.0
  264.       ein anderer Font als TOPAZ_8 für den betreffenden Screen eingestellt
  265.       ist (ebenfalls: thanx Olsen :)
  266.     - ein xpr_gets() wird simuliert; damit laufen auch endlich
  267.       xprascii.library, xprjmodem.library, xprxmodem.library usw.usf.
  268.  
  269. Änderungen bei Version 1.13:
  270. ----------------------------
  271.     - V1.12 lief aufgrund eines Compilier-Fehlers nur mit 020/030-Rechnern
  272.     - "-q"-Funktion für Mailboxbetrieb
  273.     - interne Änderungen an sread() (experimentell :)
  274.